home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / Palettes / TablePrinter / TablePrinterInspector.m < prev    next >
Text File  |  1995-06-12  |  3KB  |  114 lines

  1.  
  2. // TablePrinterInspector
  3. //
  4. // By Eric T. Seymour, NeXT Computer, Inc.
  5. //
  6. // You may freely copy, distribute, and reuse the code in this example.
  7. // NeXT disclaims any warranty of any kind, expressed or  implied, as to its
  8. // fitness for any particular use.
  9. //
  10. // This file looks best when using tabstops of 3.
  11.  
  12.  
  13. #import "TablePrinterInspector.h"
  14. #import "TablePrinter.h"
  15. #import "DBTableViewPrinter.h"
  16.  
  17. @implementation TablePrinterInspector
  18.  
  19. - init
  20. {
  21.     char    path[MAXPATHLEN + 1];
  22.     id        bundle;
  23.     
  24.     [super init];
  25.     
  26.     // Load my nib
  27.     bundle = [NXBundle bundleForClass:[TablePrinter class]];
  28.     [bundle getPath:path forResource:"TablePrinterInspector" ofType:"nib"];
  29.     [NXApp loadNibFile:path owner:self withNames:NO fromZone:[self zone]];
  30.     return self;
  31. }
  32.  
  33. - ok:sender
  34. {
  35.     // ask for the printerView of object, because we are going to set
  36.     // preferences directly.
  37.     id    pv = [object printerView];
  38.  
  39.     // Set Toggles
  40.     [pv setColumnHeadersBezeled:[headerBezelToggle state]];
  41.     [pv setForceDrawColor:[forceColorToggle state]];
  42.     [pv setPageNumbersEnabled:[pageNumbersToggle state]];
  43.     [pv setRowNumbersEnabled:[rowNumbersToggle state]];
  44.     [pv setGridLinesOn:[gridLinesToggle state]];
  45.     [pv setSelectedRowsOnly:[selectedRowsToggle state]];
  46.  
  47.     // Set Fields
  48.     [pv setStartingPageNumber:[startingPageNumber intValue]];
  49.     [pv setStartingRowNumber:[startingRowNumber intValue]];
  50.     [pv setPageNumberSeparator:[pageNumberSeparator stringValue][0]];
  51.     [pv setRowNumbersTitle:[rowNumberHeader stringValue]];
  52.  
  53.     // Set Colors
  54.     [pv setRowNumbersTextColor:[rowNumberTextColor color]];
  55.     [pv setRowNumbersBackColor:[rowNumberBackColor color]];
  56.     [pv setColumnHeadersTextColor:[columnHeaderTextColor color]];
  57.     [pv setColumnHeadersBackColor:[columnHeaderBackColor color]];
  58.     [pv setGridLinesColor:[gridLineColor color]];
  59.     [pv setPageNumberColor:[pageNumberColor color]];
  60.     [pv setBackgroundColor:[backgroundColor color]];
  61.  
  62.     return [super ok:sender];
  63. }
  64.  
  65. - revert:sender
  66. {
  67.     // ask for the printerView of object, because we are going to get
  68.     // preferences directly.
  69.     id        pv = [object printerView];
  70.     char    buf[2] = {0,0};
  71.     
  72.     // Reset Toggles
  73.     [headerBezelToggle setState:[pv isColumnHeadersBezeled]];
  74.     [forceColorToggle setState:[pv isForceDrawColor]];
  75.     [pageNumbersToggle setState:[pv isPageNumbersEnabled]];
  76.     [rowNumbersToggle setState:[pv isRowNumbersEnabled]];
  77.     [gridLinesToggle setState:[pv isGridLinesOn]];
  78.     [selectedRowsToggle setState:[pv isSelectedRowsOnly]];
  79.  
  80.     // Reset Fields
  81.     [startingPageNumber setIntValue:[pv startingPageNumber]];
  82.     [startingRowNumber setIntValue:[pv startingRowNumber]];
  83.     buf[0] = [pv pageNumberSeparator];
  84.     [pageNumberSeparator setStringValue:buf];
  85.     [rowNumberHeader setStringValue:[pv rowNumbersTitle]];
  86.  
  87.     // Reset Colors
  88.     [rowNumberTextColor setColor:[pv rowNumbersTextColor]];
  89.     [rowNumberBackColor setColor:[pv rowNumbersBackColor]];
  90.     [columnHeaderTextColor setColor:[pv columnHeadersTextColor]];
  91.     [columnHeaderBackColor setColor:[pv columnHeadersBackColor]];
  92.     [gridLineColor setColor:[pv gridLinesColor]];
  93.     [pageNumberColor setColor:[pv pageNumberColor]];
  94.     [backgroundColor setColor:[pv backgroundColor]];
  95.     
  96.     // Force a display
  97.     [[box window] display];
  98.  
  99.     return [super revert:sender];
  100. }
  101.  
  102. - (BOOL)wantsButtons
  103. {
  104.     return NO;
  105. }
  106.  
  107. - textDidEnd:textObject endChar:(unsigned short)whyEnd
  108. {
  109.     [self ok:self];
  110.     return self;
  111. }
  112.  
  113. @end
  114.